package Controlador;

import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowEvent;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import Modelo.Estudiante;
import Vista.VistaEstudiante;
import Vista.VistaMenu;
import Vista.VistaPrincipal;
import Vista.VistaProfesor;
import Vista.VistaTablas;
import Vista.vistaPromedio;

public class CntrlMenu implements ActionListener,ItemListener{
	
	VistaMenu vistaMenu;
	VistaPrincipal vistaPrincipal;
	
	public CntrlMenu(VistaMenu vistamenu)
	{
		vistaMenu=vistamenu;
		
	}
	
	
	public void actionPerformed(ActionEvent ae) {
		String opcion=(String)ae.getActionCommand();
		if(opcion.equals("Aplicar evaluacion")){
			Vector<Estudiante> estudiantes;
			  estudiantes=vistaPrincipal.secc.getestudiante();
			  vistaPrincipal.secc.aplicarEvaluaciones(estudiantes);
			  if(estudiantes.size()!=0){
			  JOptionPane.showMessageDialog(null, "LAS EVALUACIONES HAN SIDO APLICADAS", 
						"EVALUACIONES", 
						JOptionPane.INFORMATION_MESSAGE);
			  }
			  else
					 JOptionPane.showMessageDialog(null, "No HAY ESTUDIANTES INSCRITOS", 
								"REPORTES", 
								JOptionPane.INFORMATION_MESSAGE);
			  
		}
		
		if(opcion.equals("Asignar")){
			VistaProfesor vistaProfesor=new VistaProfesor();
			vistaProfesor.setVisible(true);
			vistaProfesor.setLocation(50, 50);
			vistaProfesor.setResizable(false);
			vistaProfesor.setSize(380,420);
		}
		if(opcion.equals("Inscribir")){
			VistaEstudiante vistaEstudiante=new VistaEstudiante();
			vistaEstudiante.setVisible(true);
			vistaEstudiante.setLocation(50, 50);
			vistaEstudiante.setResizable(false);
			vistaEstudiante.setSize(380,360);
			vistaEstudiante.btnRetirar.setVisible(false);
		}
		if(opcion.equals("Buscar")){
			VistaEstudiante vistaEstudiante=new VistaEstudiante();
			vistaEstudiante.setVisible(true);
			vistaEstudiante.setLocation(50, 50);
			vistaEstudiante.setResizable(false);
			vistaEstudiante.setSize(380,360);
			vistaEstudiante.btnRegistrar.setEnabled(false);
			vistaEstudiante.btnRetirar.setEnabled(false);
			
		}
		if(opcion.equals("Retirar")){
			VistaEstudiante vistaEstudiante=new VistaEstudiante();
			vistaEstudiante.setVisible(true);
			vistaEstudiante.setLocation(50, 50);
			vistaEstudiante.setResizable(false);
			vistaEstudiante.setSize(380,360);
		}
if(opcion.equals("Estudiantes por cedula")){
	Vector<Estudiante> estudiantes;
	estudiantes=vistaPrincipal.secc.getestudiante();
	estudiantes=vistaPrincipal.secc.ordenarEstudiantesCedula();
	if(estudiantes.size()!=0){
	VistaTablas vistaTablas=new VistaTablas("Estudiantes por cedula",estudiantes);
	vistaTablas.setSize(380,200);
	vistaTablas.setLocation(400, 200);
			vistaTablas.setVisible(true);
			}
	else
		 JOptionPane.showMessageDialog(null, "No HAY ESTUDIANTES INSCRITOS", 
					"REPORTES", 
					JOptionPane.INFORMATION_MESSAGE);
		}
if(opcion.equals("Estudiantes por nota final")){
	Vector<Estudiante> estudiantes;
	estudiantes=vistaPrincipal.secc.getestudiante();
	estudiantes=vistaPrincipal.secc.ordenarEstudiantesNotaF(estudiantes);
	if(estudiantes.size()!=0){
	VistaTablas vistaTablas=new VistaTablas("Estudiantes por nota final",estudiantes);
			vistaTablas.setVisible(true);
			vistaTablas.setSize(380,200);
			vistaTablas.setLocation(400,200);
	}
	else
		 JOptionPane.showMessageDialog(null, "No HAY ESTUDIANTES INSCRITOS", 
					"REPORTES", 
					JOptionPane.INFORMATION_MESSAGE);
}
if(opcion.equals("Estudiantes aprobados")){
	Vector<Estudiante> estudiantes;
	estudiantes=vistaPrincipal.secc.getestudiante();
	try {
		estudiantes=vistaPrincipal.secc.estudiantesAprobados(estudiantes);
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	}
	if(estudiantes.size()!=0){
	VistaTablas vistaTablas=new VistaTablas("Estudiantes aprobados",estudiantes);
			
			vistaTablas.setVisible(true);
			vistaTablas.setSize(380,200);
		   vistaTablas.setLocation(400,200);
       }
	else
		 JOptionPane.showMessageDialog(null, "No HAY ESTUDIANTES INSCRITOS", 
					"REPORTES", 
					JOptionPane.INFORMATION_MESSAGE);
}
if(opcion.equals("Estudiantes aplazados")){
	Vector<Estudiante> estudiantes;
	estudiantes=vistaPrincipal.secc.getestudiante();
	try {
		estudiantes=vistaPrincipal.secc.estudiantesAplazados(estudiantes);
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	}
	if(estudiantes.size()!=0){
	VistaTablas vistaTablas=new VistaTablas("Estudiantes aplazados",estudiantes);
	vistaTablas.setLocation(400,200);
    vistaTablas.setVisible(true);
	vistaTablas.setSize(380,200);
	}
	else
		 JOptionPane.showMessageDialog(null, "No HAY ESTUDIANTES INSCRITOS", 
					"REPORTES", 
					JOptionPane.INFORMATION_MESSAGE);
}
if(opcion.equals("Promedio de notas")){
	double promedio=0;
	Vector<Estudiante> estudiantes;
	estudiantes=vistaPrincipal.secc.getestudiante();
	vistaPromedio vistaPromedio=new vistaPromedio();
	promedio=vistaPrincipal.secc.promedioNotas(estudiantes);
	if(estudiantes.size()!=0){
	vistaPromedio.txtPromedio.setText(String.valueOf(promedio));
	vistaPromedio.setSize(380,100);
	vistaPromedio.setVisible(true);
	}
	else
		 JOptionPane.showMessageDialog(null, "No HAY ESTUDIANTES INSCRITOS", 
					"REPORTES", 
					JOptionPane.INFORMATION_MESSAGE);
}
if(opcion.equals("Salir")){
	int opc = JOptionPane.showConfirmDialog(new JFrame(),"Desea salir del sistema?",
		     "Mensaje de Confirmacion",JOptionPane.YES_NO_OPTION,
		     JOptionPane.QUESTION_MESSAGE);
if (opc == JOptionPane.YES_OPTION)
{
	vistaMenu.dispose();
	System.exit(0);
}
}
vistaMenu.repaint();


	}


public void itemStateChanged(ItemEvent arg0) {
		vistaMenu.repaint();
	}


	
}
